package com.itheima.exception;


import com.itheima.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 *
 * 异常处理类
 * ExceptionHandler： 指定要处理的异常类型
 */
//@ControllerAdvice
//@ResponseBody
//@RestControllerAdvice = @ControllerAdvice + @ResponseBody
@RestControllerAdvice
@Slf4j
public class HandlerException {

    @ExceptionHandler({
        CustomException.class
    })
    //处理自定义异常类型
    //参数 e： 就是controller抛出的异常对象
    public Result handlerCustomException(CustomException e){
        log.error(e.getMessage());
        return new Result(false, e.getMessage());
    }
    @ExceptionHandler({
            Exception.class
    })
    //操作其他异常信息的
    public Result handlerOtherException(Exception e){
        log.error(e.getMessage());
        return new Result(false, "系统异常，请联系管理员");
    }
}
